15. 循环

Python:用 for 循环进行循环

下面是另一个用循环绘制五边形的 workspace。你可以使用此 workspace 回答下面的练习,该练习将帮助你进一步了解循环的原理!

Workspace

This section contains either a workspace (it can be a Jupyter Notebook workspace or an online code editor work space, etc.) and it cannot be automatically downloaded to be generated here. Please access the classroom with your account and manually download the workspace to your local machine. Note that for some courses, Udacity upload the workspace files onto https://github.com/udacity , so you may be able to download them there.

Workspace Information:

  • Default file path:
  • Workspace type: html-live
  • Opened files (when workspace is loaded): n/a

备注 :如果你无法打开上面的workspace,请去 这里

如果将 [1, 2, 3, 4, 5] 替换为 [1, 0, 1, 0, 1] ,会发生什么?

思考下这个问题,然后在代码里尝试一下!

SOLUTION: turtle 画出和之前完全一样的五边形。

如果将 [1, 0, 1, 0, 1] 替换为 ["red", "orange", "yellow", "green", "blue"] ,会发生什么?

思考下这个问题,然后在代码中尝试一下!

SOLUTION: turtle 画出和之前完全一样的五边形。

缩进很重要!

注意,在这个循环里的所有行(第一行之后)都缩进了(向右移动了四个空格)。

for side in [1, 2, 3, 4, 5]:
    amy.forward(100)
    amy.right(72)

如果我们删掉最后一行的缩进,会怎样?如下所示:

for side in [1, 2, 3, 4, 5]:
    amy.forward(100)
amy.right(72)
SOLUTION: turtle 画出一条笔直的长线条(并离开屏幕)。

如果调换这两行,使 amy.right(72) 位于循环内,并使 amy.forward(100) 位于循环外,会发生什么?

for side in [1, 2, 3, 4, 5]:
    amy.right(72)
amy.forward(100)
SOLUTION: turtle 首先转动五次,然后向前移动一次。

现在我们再看看循环的第一行:

for side in [1, 2, 3, 4, 5]:

side 是什么?在这里,我们必须使用单词 side 吗?可以将其替换为不同的单词吗?例如:

for blah in [1, 2, 3, 4, 5]:

尝试一下!发生了什么?

SOLUTION: turtle 画出和之前完全一样的五边形。

因此,更改列表中的项目似乎没区别。将 side 更改为其他单词也似乎没有区别!对于此示例,是这样。这些更改不会改变 这个 特定循环的运行方式或改变 turtle 绘制的图形。但是稍后,我们将看到这些更改的确很重要的循环。暂时先记住这些结果。